/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package main;

import java.util.Stack;
import java.math.*;

/**
 *
 * @author Mantas, Ramūnas, Vilius
 */
public class Memory {
    /**
     * Maksimalus realios atminties kiekis.
     */
    public static int MAX_MEMORY = 64;
    /**
     * Maksimalus realios atminties bloku kiekis.
     */
    public static final int MAX_BLOCKS = 16+1; // +1 kad butu galima realizuoti
                                               // row header'i
    static String[][] userMemory = new String[MAX_MEMORY][MAX_BLOCKS];
    /**
     * Metodas skirtas duomenis įrašyti į realią atmintį pagal duotą adresą.
     * @param row
     * @param column
     * @param data
     */
    public static void setMemoryAt(int row, int column, String data){
        if(data.length()>4){
            data=data.substring(0, 4);
        }
        userMemory[row][column+1]=data;
    }
    /**
     * Metodas skirtas gautį realios atminties ląstelės turinį pagal duotą adresą.
     * @param row
     * @param column
     * @return
     */
    public static String getMemoryFrom(int row, int column){
        return userMemory[row][column+1];
    }
    /**
     * Metodas perduoti realios atminties masyvą.
     * @return Realios atminties masyvas.
     */
    public static String[][] passMemory(){
        return userMemory;
    }
    /**
     * Metodas skirtas užpildyti pirmo stulpelio reikšmes eilučių numeriais.
     */
    public static void initTable(){
        Integer i;
        for(i=0; i<MAX_MEMORY; i++){
            userMemory[i][0]=i.toString();
        }
    }
}
